using System;
using System.Collections;
using System.Runtime.InteropServices;
namespace BMC.ARSystem
{
	[ClassInterface, Guid("4dd0ea8e-dac3-4fe3-af5b-4082ed3f0841"), ProgId("BMC.ARSystem.SetFieldsFromFilterAPI")]
	public class SetFieldsFromFilterAPI : SetFieldsAction
	{
		private string _serviceName;
		private ArrayList _inputValues;
		public string ServiceName
		{
			get
			{
				return this._serviceName;
			}
			set
			{
				this._serviceName = value;
			}
		}
		public ArrayList InputValues
		{
			get
			{
				return this._inputValues;
			}
			set
			{
				this._inputValues = value;
			}
		}
		public SetFieldsFromFilterAPI()
		{
		}
		internal SetFieldsFromFilterAPI(object[] rawData, Server server) : base(rawData, server)
		{
			base.ReadValuesFrom = "FILTERAPI";
			int[] array = new int[5];
			array[2] = 1;
			array[3] = 1;
			this.ServiceName = (string)Util.GetAt(rawData, array);
			this.InputValues = Util.BuildAssignmentList((object[])Util.GetAt(rawData, new int[]
			{
				0,
				0,
				1,
				1,
				1
			}), server, server.Session.CurrentLocalForm, server.Session.CurrentLocalForm);
		}
		internal static object ToVariant(object given, Server server)
		{
			if (!(given is SetFieldsAction))
			{
				return given;
			}
			object obj = SetFieldsAction.ToVariant(given, server);
			return (object[])obj;
		}
	}
}
